<?xml version="1.0"?>
<!--
  ~ Copyright 2004-2012 ICEsoft Technologies Canada Corp.
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the
  ~ License. You may obtain a copy of the License at
  ~
  ~ http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing,
  ~ software distributed under the License is distributed on an "AS
  ~ IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
  ~ express or implied. See the License for the specific language
  ~ governing permissions and limitations under the License.
  -->

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:c="http://java.sun.com/jsp/jstl/core" 
    xmlns:ace="http://www.icefaces.org/icefaces/components" 
    xmlns:ice="http://www.icesoft.com/icefaces/component"
    xmlns:icecore="http://www.icefaces.org/icefaces/core"
    xmlns:ui="http://java.sun.com/jsf/facelets" 
    template="/resources/templates/content-template.xhtml">
    
    <ui:param name="title" value="#{msgs[exporterColumn.title]}"/>
    <ui:param name="description" value="#{msgs[exporterColumn.description]}"/>
    <ui:param name="resourceValue" value="#{exporterColumn.exampleResource}"/>
    
    <ui:param name="wikiResources" value="#{compatComponentsResources.wikiResources}"/>
    <ui:param name="tldResources" value="#{compatComponentsResources.tldResources}"/>
    
    <ui:define name="example">
        <h:form>
            <icecore:singleSubmit/>
            <h:panelGrid columns="2">
                <h:outputLabel for="columnIn" value="Included Columns:"/>
                <h:selectManyCheckbox id="columnIn" value="#{exporterColumn.includedColumns}">
                    <f:selectItems value="#{exporterColumn.availableColumns}"/>
                </h:selectManyCheckbox>
            </h:panelGrid>
        </h:form>
            
        <h:form>
            <ice:dataExporter for="carData"
                              type="excel"
                              label="Download as Excel"
                              includeColumns="#{exporterColumn.columnString}"
                              popupBlockerLabel="Popup Blocker detected - click here to resume download..."/>
            <ice:dataExporter for="carData"
                              type="csv"
                              label="Download as CSV"
                              includeColumns="#{exporterColumn.columnString}"
                              popupBlockerLabel="Popup Blocker detected - click here to resume download..."/>
                              
            <ice:dataTable id="carData"
                           value="#{exporter.cars}"
                           var="car"
                           rows="#{exporter.defaultRows}"
                           width="100%" cellspacing="1" cellpadding="5"
                           columnClasses="tableIdCol,tableNameCol,tableChassisCol,
                                          tableWeightCol,tableAccelCol,tableMpgCol,tableCostCol">
                <ice:column>
                    <f:facet name="header">
                        <ice:outputText value="ID"/>
                    </f:facet>
                    <ice:outputText value="#{car.id}"/>
                </ice:column>
                <ice:column>
                    <f:facet name="header">
                        <ice:outputText value="Name"/>
                    </f:facet>
                    <ice:outputText value="#{car.name}"/>
                </ice:column>
                <ice:column>
                    <f:facet name="header">
                        <ice:outputText value="Chassis"/>
                    </f:facet>
                    <ice:outputText value="#{car.chassis}"/>
                </ice:column>
                <ice:column>
                    <f:facet name="header">
                        <ice:outputText value="Weight"/>
                    </f:facet>
                    <ice:outputText value="#{car.weight}lbs."/>
                </ice:column>
                <ice:column>
                    <f:facet name="header">
                        <ice:outputText value="Accel"/>
                    </f:facet>
                    <ice:outputText value="#{car.acceleration}"/>
                </ice:column>
                <ice:column>
                    <f:facet name="header">
                        <ice:outputText value="MPG"/>
                    </f:facet>
                    <ice:outputText value="#{car.mpg}"/>
                </ice:column>
                <ice:column>
                    <f:facet name="header">
                        <ice:outputText value="Cost"/>
                    </f:facet>
                    <ice:outputText value="#{car.cost}">
                        <f:convertNumber type="currency"
                                         currencySymbol="$"
                                         groupingUsed="true"
                                         minFractionDigits="2"
                                         maxFractionDigits="2"/>
                    </ice:outputText>
                </ice:column>
            </ice:dataTable>
        </h:form>
    </ui:define>
</ui:composition>
